package com.hivekion.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hivekion.common.entity.TreeNode;
import com.hivekion.system.domain.SysArea;
import com.hivekion.system.domain.vo.area.SysAreaCreateInputVo;
import com.hivekion.system.domain.vo.area.SysAreaUpdateInputVo;
import com.hivekion.system.domain.vo.area.SysAreaViewVo;

import java.util.List;

public interface ISysAreaService extends IService<SysArea> {

      Boolean checkAreaNameUnique(String areaName, String areaId);

      boolean create(SysAreaCreateInputVo area);

      boolean delete(String areaId);

      List<SysAreaViewVo> getList();

      List<SysAreaViewVo> getList(String parentId);

      boolean update(SysAreaUpdateInputVo inputVo);

      SysArea getInfo(String areaId);

      SysArea getByCode(String code);

      List<TreeNode> getTreeSelect();

      List<SysArea> getAllList();

      List<TreeNode> getChildrenNodeList(String parentId);


      String getPath(String pathId);

      boolean hashChildren(String pathId);

      List<SysArea> getChildAreas(String id);


}
